home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
PC World Komputer 2010 April
/
PCWorld0410.iso
/
pluginy Firefox
/
2109
/
2109.xpi
/
chrome
/
febe.jar
/
content
/
febeObserver.js
< prev
next >
Wrap
Text File
|
2009-10-13
|
2KB
|
57 lines
// author: Chuck Baker
// contact: febe@customsoftwareconsult.com
// Version 6.3
function febeObserver(){
this.register();
}
febeObserver.prototype = {
observe: function(subject, topic, data) {
switch(topic){
case "buItem":
// Progress window never updates ... don't know why
//febeUpdateProgressWindow(data);
break;
case "quit-application-requested":
if(!febePrefs.getBoolPref("extensions.febe.backupOnShutdown")){break;} // Backup on shutdown?
if(Application.storage.get("shuttingDownAfterProfileRestore", false)){break;}
if(!Application.storage.get("backupOnShutdownCompleted", false)){ // See if shutdown backup has already run
if(data != "restart"){ // Ignore restarts, only backup on shutdown (quit)
if(febePrefs.getBoolPref("extensions.febe.backupOnShutdown.prompt")){
var tmp = "<style>color: purple; font-weight: bold; font-size: 15px;</style>"+febeMsg[282]+"\n";
tmp += "<style>color: black;</style>"+febeMsg[283]+"\n";
if(!febeConfirm(tmp)){break;}
}//if
subject.QueryInterface(Ci.nsISupportsPRBool);
subject.data = true; // Abort the shutdown
febeInit(); // Perform the backup
Application.storage.set("backupOnShutdownCompleted", true); // Set the flag so we don't run it again
febePrefs.setBoolPref("extensions.febe.dontaskagain",false); // Clear dont ask flag
}//if
}//if
break;
default:
//alert("Unknown: "+data);
break;
}//switch
return true;
},
register: function() {
var observerService = Cc["@mozilla.org/observer-service;1"].getService(Ci.nsIObserverService);
observerService.addObserver(this, "buItem", false);
observerService.addObserver(this, "quit-application-requested", false);
//observerService.addObserver(this, "quit-application-granted", false);
return true;
},
unregister: function() {
var observerService = Cc["@mozilla.org/observer-service;1"].getService(Ci.nsIObserverService);
observerService.removeObserver(this, "buItem");
return true;
},
notify: function(subject, topic, data){
var observerService = Cc["@mozilla.org/observer-service;1"].getService(Ci.nsIObserverService);
observerService.notifyObservers(subject, topic, data);
return true;
}
}